package cn.csc.framework.pay.core.client.impl.jh;

import cn.csc.framework.pay.core.client.PayClientConfig;
import lombok.Data;

import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import javax.validation.constraints.NotBlank;
import java.util.Set;

/**
 * 建行支付参数
 */
@Data
public class JHPayClientConfig implements PayClientConfig {

    private String  channelId;

    private String url;
    /**
     * 商户代码
     */
    @NotBlank(message = "商户代码不能为空")
    private String merchantId;

    /**
     * 商户柜台代码
     */
    @NotBlank(message = "商户柜台代码不能为空")
    private String posId;

    /**
     * 分行代码
     */
    @NotBlank(message = "分行代码不能为空")
    private String branchId;

    /**
     * 交易码,由建行统一分配为530590
     */
    @NotBlank(message = "交易码不能为空")
    private String txCode;
    /**
     * 接口类型,分行业务人员在P2员工渠道后台设置防钓鱼的开关。 1-	防钓鱼接口
     */
    @NotBlank(message = "接口类型不能为空")
    private String type;

    /**公钥后30位*/
    @NotBlank(message = "公钥不能为空")
    private String pub;

    /** 网关类型,默认送0*/
    private String gateway;

    /**CURCODE 币种,缺省为01－人民币*/
    private String curCode;


    @Override
    public Set<ConstraintViolation<PayClientConfig>> verifyParam(Validator validator) {
        return validator.validate(this);
    }

    @Override
    public void validate(Validator validator) {
        PayClientConfig.super.validate(validator);
    }
}
